package com.zcsy.manage.owner.service.system;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;

import com.zcsy.manage.model.system.User;
import com.zcsy.manage.persistence.system.UserDao;

/**
 * @Title: IUserService.java
 * @Package： com.zcsy.manage.owner.service.system 
 * @Description: 用户登陆service接口层
 *
 * @author caiyinli 13277030520@163.com
 * @Copyright: 2015 武汉中财数元信息技术有限公司 All rights reserved.
 * @date 2016年6月23日
 * @version 1.0
 * @see JDK1.7.0_75
 * @since
 */
public interface IOUserService {

	/**
	 * @Description 根据登陆账号或手机号和用户类型查询用户<br>
	 * 
	 * @param user 用户对象
	 * @return 用户对象
	 * @author caiyinli 13277030520@163.com
	 * @date 2016年6月23日
	 * @see 
	 */
	User ownerUserLogin(User user);
	
    /** 
     * @Title: selectUserIfPhoneExists 
     * @Description: 判断用户手机号是否存在
     * @param @param phone 手机号
     * @param @param type 用户类型
     * @param @return     
     * @return List<User>     
     * @throws 
     */
    public List<User> selectUserIfPhoneExists(String phone , int type);
	
	/**
	* @Title: selectLoginNameByPhone 
	* @Description: 手机号查询登录名 
	* @param phone 手机号
	* @return String
	* @author wangj 1157360454@qq.com   
	* @date 2016年6月12日 
	* @throws
	 */
	String selectLoginNameByPhone(String phone);
	

	
	/**
	 * 
	* @Title: selectRoleMenu 
	* @Description: 权限查询 
	* @param roleid 角色id
	* @return 
	* @author wangj 1157360454@qq.com   
	* @date 2016年6月8日 
	* @throws
	 */
	List<String> selectRoleMenu(String roleid);
	
	/**
	 * 
	* @Title: forgetPass 
	* @Description: 忘记密码 
	* @param pwd 密码
	* @param loginname 登录名
	* @return 
	* @author wangj 1157360454@qq.com   
	* @date 2016年6月8日 
	* @throws
	 */
	int forgetPass(String pwd , String loginname);
	
	/**
	 * 
	* @Title: boundPhone 
	* @Description: 绑定手机 
	* @param phone 手机号
	* @param loginname 登录名
	* @return 
	* @author wangj 1157360454@qq.com   
	* @date 2016年6月15日 
	* @throws
	 */
	int boundPhone(String phone, String loginname);
	
	
	/**
	 * 
	* @Title: updateInformation 
	* @Description: 修改用户信息 
	* @param user
	* @return 
	* @author wangj 1157360454@qq.com   
	* @date 2016年5月31日 
	* @throws
	 */
	int updateInformation(User user);
	
	/**
	 * 
	* @Title: userLogin 
	* @Description: 更新用户信息 
	* @param user 用户对象
	* @return User
	* @author wangj 1157360454@qq.com   
	* @date 2016年5月31日 
	* @throws
	 */
	public User userLogin(User user);
	
    /**
     * 
    * @Title: changePwd 
    * @Description: 修改密码 
    * @param pwd 密码
    * @param phone 手机号
    * @return 
    * @author wangj 1157360454@qq.com   
    * @date 2016年5月31日 
    * @throws
     */
	int changePwd(User user);
	
	/**
	 * 
	* @Title: selectByPrimaryKey 
	* @Description: 主键查询用户 
	* @param id
	* @return 
	* @author wangj 1157360454@qq.com   
	* @date 2016年6月1日 
	* @throws
	 */
	User selectByPrimaryKey(String id);
	
	/**
	 * 
	* @Title: selectByLoginName 
	* @Description: 登录名查询用户 
	* @param name 登录名
	* @return User
	* @author wangj 1157360454@qq.com   
	* @date 2016年6月1日 
	* @throws
	 */
	User selectByLoginName(String name );
	
	/**
	 * 
	* @Title: selectByPhone 
	* @Description: 手机号查询用户 
	* @param phone 手机号
	* @return User
	* @author wangj 1157360454@qq.com   
	* @date 2016年6月1日 
	* @throws
	 */
	User selectByPhone(String phone);

}
